﻿using BaseAuthRole.DTO.Org.Enum;
using RS.BaseModel.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BaseAuthRole.DTO.Org
{
    /// <summary>
    /// 采用的吉利组织架构
    /// </summary>
    public class Organization: BaseEntity
    {
        /// <summary>
        /// 组织名称
        /// </summary>
        public string OrgName { get; set; }
        /// <summary>
        /// 组织英文名称
        /// </summary>
        public string? EnName { get; set; }
        /// <summary>
        /// 全称
        /// </summary>
        public string? FullName { get; set; }

        /// <summary>
        /// 上级组织编码，对应orgid
        /// </summary>
        public string? ParentId { get; set; }
        /// <summary>
        /// 组织类型
        /// </summary>
        public EnumOrgType Type { get; set; }
        /// <summary>
        /// 组织状态
        /// </summary>
        public EnumOrgState State { get; set; }
        /// <summary>
        /// sap机构代码
        /// </summary>
        public string? Sapcode { get; set; }
        /// <summary>
        /// 成本红心
        /// </summary>
        public string? CostCenter { get; set; }
        /// <summary>
        /// 成本中心代码
        /// </summary>
        public string? CostCenterCode { get; set; }
        /// <summary>
        /// 企业微信ID
        /// </summary>
        public string? WechatId { get; set; }
        /// <summary>
        /// 父级Id
        /// </summary>
        public string? WechatParentId { get; set; }
        /// <summary>
        /// 飞书OrgId
        /// </summary>
        public string? FSOrgId { get; set; }
        /// <summary>
        /// 飞书机构的chatid
        /// </summary>
        public string? FSOrgChatId { get; set; }
        /// <summary>
        /// 组织负责人姓名
        /// </summary>
        public string? OrgManger { get; set; }

        /// <summary>
        /// 组织负责人工号
        /// </summary>
        public string? OrgMangeraCode { get; set; }


        public DateTime? EffectiveTime { get; set; }


        public DateTime? ExpirationTime { get; set; }

        /// <summary>
        /// 组织架构层级
        /// </summary>
        public string? Level { get; set; }
        /// <summary>
        /// 组织属性 1 内部 2外部
        /// </summary>
        public int Property { get; set; }


    }
}
